﻿using System;

namespace Common.Infrastructure
{
    public interface ILogService
    {
        void AddError(string message);

        void AddError(string message, string logMsg, object obj);

        void AddError(string code, params object[] objs);

        void AddError(string message, Exception exception);

        void AddWarning(string message);

        void AddWarning(string code, params object[] objs);

        void AddInfomation(string message);

        void AddInfomation(string code, params object[] objs);

        void AddInfomation(string message, string logMsg);

        void AddInfomation(string code, string logMsg, params object[] objs);

        void AddInfomation(string message, object obj, string logMsg);

        void AddInfomation(string code, object obj, string logMsg, params object[] objs);

        void AddInfomation(string message, object obj, string logMsg, object logMsgObj);

        void AddInfomation(string message, object obj, string logMsg, object logMsgObj, long startLogTick);

        void AddLog(string message, string obj, string logMsg, string logMsgObj);
    }
}
